GUILD_UPDATE イベントが起きたときに起きることメモ
Partial が設定されていようと無かろうと cache にない Guild は無視されている。
guild 自体は接続時に全て送られてくるから partial されることはない yuta0801.icon
partial はあくまでキャッシュされていなく手動で fetch しないと行けない場合への対処なので Intents とは別概念 guildUpdate イベントを呼び出している
Guild は_update をオーバーライドしていないので Base の _update が呼ばれる。
code:javascript
_clone() {
return Object.assign(Object.create(this), this);
}
// _patch は Guild でオーバーライドされていることに注意されたい
_patch(data) {
return data;
}
_update(data) {
const clone = this._clone();
this._patch(data);
return clone;
}
すなわち、もとのインスタンスを新しい情報で更新する前にコピーを作っておく。
Client の evnet として古い方も流すために